package galaxy.app.event;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentLinkedQueue;

import galaxy.kernel.ASMMethod;
import galaxy.kernel.component.AbstractECSComponent;
import galaxy.kernel.thread.NamedScheduleExecutor;

public class EventComponent extends AbstractECSComponent {
    public ConcurrentLinkedQueue<GameEvent> eventQueue = new ConcurrentLinkedQueue<>();

    public NamedScheduleExecutor eventExecutor;

    /**
     * key:eventName, value:{key:threadId, value:List<ASMMethod>}
     */
    public Map<String, Map<Integer, List<ASMMethod>>> eventInfoMaps = new LinkedHashMap<>();
}
